perm filename IMP.FAI[SS,SYS] blob
sn#709904 filedate 1983-05-06 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 a b c d p lpdl pdl imp loop lhzero next decout octout sixout
C00005 ENDMK
C⊗;
;⊗ a b c d p lpdl pdl imp loop lhzero next decout octout sixout
title imp
a←1
b←2
c←3
d←4
p←17
lpdl←40
pdl: block lpdl
imp: reset
move p,[iowd lpdl,pdl]
outstr [asciz/Job Name RmtAdr RmtPrt LclPrt State
/]
movei a,347
peek a,
movem a,pjobn# ;save byte ptr to job number in DDB
hrri a,b ;make ptr into B
movem a,pjobnb# ;save for later
movei a,225
peek a, ;get ptr to JOBNAM table
movem a,jobnam#
movei a,217
peek a,
peek a,
hlrzs a,a
loop: movei b,(a)
peek b, ;get device name
came b,['imp ']
jrst next
hrrz b,pjobn ;get addr of word containing job number
addi b,(a) ;add in DDB address
movei b,(b) ;just RH addr
peek b, ;get job number word
ldb b,pjobnb ;get job number
push p,b ;save it
pushj p,decout ;print job number
outchr [11]
pop p,b
add b,jobnam ;make address of JOBNAM table entry for this job
peek b, ;get job name
pushj p,sixout ;print job name
outchr [11]
movei b,52(a) ;get rmtadr
peek b,
skipn b
outchr [11]
pushj p,octout
outchr [11]
movei b,57(a) ;get rmtprt
peek b,
pushj p,octout ;print
outchr [11]
movei b,60(a) ;get lclprt
peek b,
pushj p,octout
outchr [11]
movei b,61(a) ;get state
peek b,
tlnn b,-1 ;lh nonzero?
jrst lhzero ;no
push p,b
hlrz b,b ;get lh
pushj p,octout ;print lh
outstr [asciz/,,/]
pop p,b
movei b,(b) ;just rh
lhzero: pushj p,octout
outstr [asciz/
/]
next: movei a,3(a)
peek a,
hlrzs a,a
jumpn a,loop
exit
decout: idivi b,=10
hrlm c,(p)
jumpe b,.+2
pushj p,decout
hlrz c,(p)
addi c,"0"
outchr c
popj p,
octout: idivi b,10
hrlm c,(p)
jumpe b,.+2
pushj p,octout
hlrz c,(p)
addi c,"0"
outchr c
popj p,
sixout: movei c,0
rotc b,6 ;next char into C
addi c,40 ;convert to ascii
outchr c
jumpn b,sixout ;loop until only nulls left
popj p,
end imp